package com.it.service;

import com.it.pojo.dto.KnowledgeAddDTO;
import com.it.pojo.dto.KnowledgeListDTO;
import com.it.pojo.entity.PageResult;
import com.it.pojo.vo.KnowledgeFileVO;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

public interface KnowledgeService {
    /**
     * 获取知识库列表
     * @return
     */
    PageResult pageQuery(KnowledgeListDTO knowledgeListDTO);

    /**
     * 添加知识库
     * @param knowledgeAddDTO
     */
    void add(KnowledgeAddDTO knowledgeAddDTO);

    /**
     * 删除知识库
     * @param knowledgeCode
     */
    void deleteByKnowledgeCode(String knowledgeCode);

    /**
     * 上传知识库文件
     * @param uploadFile 上传的文件
     * @return 文件路径
     */
    String upload(MultipartFile uploadFile, String knowledgeCode);

    /**
     * 获取文件列表
     * @param knowledgeCode 知识库编码
     * @return 文件列表
     */
    List<KnowledgeFileVO> getKnowledgeFilesByCode(String knowledgeCode);

    /**
     * 获取文件内容
     * @param fileName 文件名
     * @return 文件内容
     */
    String getFileContent(String fileName);

    /**
     * 删除文件
     * @param fileId 文件ID
     */
    void deleteFileById(Integer fileId);
}
